home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cato / Xm / XmDragContext.z / XmDragContext
Text File  |  1998-10-20  |  96KB  |  1,321 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt - The DragContext widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           ####iiiinnnncccclllluuuuddddeeee <<<<XXXXmmmm////DDDDrrrraaaaggggDDDDrrrroooopppp....hhhh>>>>
  13.  
  14.  
  15.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  16.           This page documents version 1.2 of the Motif library.
  17.  
  18.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  19.           DragContexts are special widgets used in drag and drop
  20.           transactions.  A DragContext is implemented as a widget, but
  21.           a client does not explicitly create a DragContext widget.
  22.           Instead, a client initiates a drag and drop transaction by
  23.           calling XXXXmmmmDDDDrrrraaaaggggSSSSttttaaaarrrrtttt, and this routine initializes and
  24.           returns a DragContext widget.  There is a unique DragContext
  25.           for each drag operation.  The toolkit frees a DragContext
  26.           when a transaction is complete; therefore, an application
  27.           programmer should not explicitly destroy a DragContext.
  28.  
  29.           Initiator and receiver clients both use DragContexts to
  30.           track the state of a transaction.  When the initiator and
  31.           receiver of a transaction are in the same client, they share
  32.           the same DragContext instance.  If they are in different
  33.           clients, there are two separate DragContexts.  In this case,
  34.           the initiator calls XXXXmmmmDDDDrrrraaaaggggSSSSttttaaaarrrrtttt and the toolkit provides a
  35.           DragContext for the receiver client.  The only resources
  36.           pertinent to the receiver are XXXXmmmmNNNNeeeexxxxppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss and
  37.           XXXXmmmmNNNNnnnnuuuummmmEEEExxxxppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss.  These can both be passed as arguments
  38.           to the XXXXmmmmDDDDrrrrooooppppSSSSiiiitttteeeeRRRReeeettttrrrriiiieeeevvvveeee function to obtain information
  39.           about the current drop site.
  40.  
  41.           In general, in order to receive data, a drop site must share
  42.           at least one target type and operation in common with a drag
  43.           source.  The DragContext resource, XXXXmmmmNNNNeeeexxxxppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss,
  44.           identifies the selection targets for the drag source.  These
  45.           export targets are compared with the XXXXmmmmNNNNiiiimmmmppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss
  46.           resource list specified by a drop site.  The DragContext
  47.           resource, XXXXmmmmNNNNddddrrrraaaaggggOOOOppppeeeerrrraaaattttiiiioooonnnnssss, identifies the valid operations
  48.           that can be applied to the source data by the initiator.
  49.           The drop site counterpart resource is XXXXmmmmNNNNddddrrrrooooppppSSSSiiiitttteeeeOOOOppppeeeerrrraaaattttiiiioooonnnnssss,
  50.           which indicates a drop site's supported operations.
  51.  
  52.           A client uses DragIcon widgets to define the drag-over
  53.           animation effects associated with a given drag and drop
  54.           transaction. An initiator specifies a set of drag icons,
  55.           selects a blending model, and sets foreground and background
  56.           cursor colors with DragContext resources.
  57.  
  58.           The type of drag-over visual used to represent a drag
  59.           operation depends on the drag protocol style.  In
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 4/30/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  71.  
  72.  
  73.  
  74.           preregister mode, the server is grabbed, and either a cursor
  75.           or a pixmap may be used as a drag-over visual.  In dynamic
  76.           mode, drag-over visuals must be implemented with the X
  77.           cursor.  If the resulting drag protocol style is Drop Only
  78.           or None and the XXXXmmmmNNNNddddrrrraaaaggggIIIInnnniiiittttiiiiaaaattttoooorrrrPPPPrrrroooottttooooccccoooollllSSSSttttyyyylllleeee is
  79.           XXXXmmmmDDDDRRRRAAAAGGGG____DDDDYYYYNNNNAAAAMMMMIIIICCCC or XXXXmmmmDDDDRRRRAAAAGGGG____PPPPRRRREEEEFFFFEEEERRRR____DDDDYYYYNNNNAAAAMMMMIIIICCCC, then a dynamic
  80.           visual style (cursor) is used.  Otherwise, a preregister
  81.           visual style is used.
  82.  
  83.         CCCCllllaaaasssssssseeeessss
  84.           DragContext inherits behavior and resources from CCCCoooorrrreeee.
  85.  
  86.           The class pointer is xxxxmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxttttCCCCllllaaaassssssss.
  87.  
  88.           The class name is XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt.
  89.  
  90.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  91.           The following table defines a set of widget resources used
  92.           by the programmer to specify data.  The programmer can also
  93.           set the resource values for the inherited classes to set
  94.           attributes for this widget.  To reference a resource by name
  95.           or by class in a .Xdefaults file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC
  96.           prefix and use the remaining letters.  To specify one of the
  97.           defined values for a resource in a .Xdefaults file, remove
  98.           the XXXXmmmm prefix and use the remaining letters (in either
  99.           lowercase or uppercase, but include any underscores between
  100.           words).  The codes in the access column indicate if the
  101.           given resource can be set at creation time (CCCC), set by using
  102.           XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (SSSS), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (GGGG), or is
  103.           not applicable (NNNN////AAAA).
  104.  
  105.                                                    XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  106.      NNNNaaaammmmeeee                          CCCCllllaaaassssssss                    TTTTyyyyppppeeee                         DDDDeeeeffffaaaauuuulllltttt                     AAAAcccccccceeeessssssss
  107.      ______________________________________________________________________________________________________________________
  108.      XmNblendModel                 XmCBlendModel            unsigned char                XmBLEND_ALL                 CG
  109.      XmNclientData                 XmCClientData            XtPointer                    NULL                        CSG
  110.      XmNconvertProc                XmCConvertProc           XtConvertSelectionIncrProc   NULL                        CSG
  111.      XmNcursorBackground           XmCCursorBackground      Pixel                        dynamic                     CSG
  112.      XmNcursorForeground           XmCCursorForeground      Pixel                        dynamic                     CSG
  113.      XmNdragDropFinishCallback     XmCCallback              XtCallbackList               NULL                        CSG
  114.      XmNdragMotionCallback         XmCCallback              XtCallbackList               NULL                        C
  115.      XmNdragOperations             XmCDragOperations        unsigned char                XmDROP_COPY | XmDROP_MOVE   C
  116.      XmNdropFinishCallback         XmCCallback              XtCallbackList               NULL                        C
  117.      XmNdropSiteEnterCallback      XmCCallback              XtCallbackList               NULL                        C
  118.      XmNdropSiteLeaveCallback      XmCCallback              XtCallbackList               NULL                        C
  119.      XmNdropStartCallback          XmCCallback              XtCallbackList               NULL                        C
  120.      XmNexportTargets              XmCExportTargets         Atom *                       NULL                        CSG
  121.      XmNincremental                XmCIncremental           Boolean                      False                       CSG
  122.      XmNinvalidCursorForeground    XmCCursorForeground      Pixel                        dynamic                     CSG
  123.      XmNnoneCursorForeground       XmCCursorForeground      Pixel                        dynamic                     CSG
  124.  
  125.  
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 4/30/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  137.  
  138.  
  139.  
  140.      XmNnumExportTargets           XmCNumExportTargets      Cardinal                     0                           CSG
  141.      XmNoperationChangedCallback   XmCCallback              XtCallbackList               NULL                        C
  142.      XmNoperationCursorIcon        XmCOperationCursorIcon   Widget                       dynamic                     CSG
  143.      XmNsourceCursorIcon           XmCSourceCursorIcon      Widget                       dynamic                     CSG
  144.      XmNsourcePixmapIcon           XmCSourcePixmapIcon      Widget                       dynamic                     CSG
  145.      XmNstateCursorIcon            XmCStateCursorIcon       Widget                       dynamic                     CSG
  146.      XmNtopLevelEnterCallback      XmCCallback              XtCallbackList               NULL                        C
  147.      XmNtopLevelLeaveCallback      XmCCallback              XtCallbackList               NULL                        C
  148.      XmNvalidCursorForeground      XmCCursorForeground      Pixel                        dynamic                     CSG
  149.  
  150.           XXXXmmmmNNNNbbbblllleeeennnnddddMMMMooooddddeeeellll
  151.                     Specifies which combination of DragIcons are
  152.                     blended to produce a drag-over visual.
  153.  
  154.  
  155.                     XXXXmmmmBBBBLLLLEEEENNNNDDDD____AAAALLLLLLLL
  156.                               Blends all three DragIcons - the source,
  157.                               state and operation icon.  The icons are
  158.                               layered from top to bottom with the
  159.                               operation icon on top and the source
  160.                               icon on the bottom.  The hotspot is
  161.                               derived from the state icon.
  162.  
  163.                     XXXXmmmmBBBBLLLLEEEENNNNDDDD____SSSSTTTTAAAATTTTEEEE____SSSSOOOOUUUURRRRCCCCEEEE
  164.                               Blends the state and source icons only.
  165.                               The hotspot is derived from the state
  166.                               icon.
  167.  
  168.                     XXXXmmmmBBBBLLLLEEEENNNNDDDD____JJJJUUUUSSSSTTTT____SSSSOOOOUUUURRRRCCCCEEEE
  169.                               Specifies that only the source icon is
  170.                               used, which the initiator updates as
  171.                               required.
  172.  
  173.                     XXXXmmmmBBBBLLLLEEEENNNNDDDD____NNNNOOOONNNNEEEE
  174.                               Specifies that no drag-over visual is
  175.                               generated.  The client tracks the drop
  176.                               site status through callback routines
  177.                               and updates the drag-over visuals as
  178.                               necessary.
  179.  
  180.  
  181.           XXXXmmmmNNNNcccclllliiiieeeennnnttttDDDDaaaattttaaaa
  182.                     Specifies the client data to be passed to the
  183.                     XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttPPPPrrrroooocccc when it is invoked.
  184.  
  185.           XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttPPPPrrrroooocccc
  186.                     Specifies a procedure of type
  187.                     XXXXttttCCCCoooonnnnvvvveeeerrrrttttSSSSeeeelllleeeeccccttttiiiioooonnnnIIIInnnnccccrrrrPPPPrrrroooocccc that converts the
  188.                     source data to the format(s) requested by the
  189.                     receiver client.  The _w_i_d_g_e_t argument passed to
  190.                     this procedure is the DragContext widget.  The
  191.                     selection atom passed is _MOTIF_DROP.  If
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 4/30/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  203.  
  204.  
  205.  
  206.                     XXXXmmmmNNNNiiiinnnnccccrrrreeeemmmmeeeennnnttttaaaallll is False, the procedure should
  207.                     ignore the _m_a_x__l_e_n_g_t_h, _c_l_i_e_n_t__d_a_t_a, and _r_e_q_u_e_s_t__i_d
  208.                     arguments and should handle the conversion
  209.                     atomically.  Data returned by XXXXmmmmNNNNccccoooonnnnvvvveeeerrrrttttPPPPrrrroooocccc must
  210.                     be allocated using XXXXttttMMMMaaaalllllllloooocccc and will be freed
  211.                     automatically by the toolkit after the transfer.
  212.                     For additional information on selection conversion
  213.                     procedures, see _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s-_C _L_a_n_g_u_a_g_e
  214.                     _I_n_t_e_r_f_a_c_e.
  215.  
  216.           XXXXmmmmNNNNccccuuuurrrrssssoooorrrrBBBBaaaacccckkkkggggrrrroooouuuunnnndddd
  217.                     Specifies the background pixel value of the
  218.                     cursor.
  219.  
  220.           XXXXmmmmNNNNccccuuuurrrrssssoooorrrrFFFFoooorrrreeeeggggrrrroooouuuunnnndddd
  221.                     Specifies the foreground pixel value of the cursor
  222.                     when the state icon is not blended.  This resource
  223.                     defaults to the foreground color of the widget
  224.                     passed to the XXXXmmmmDDDDrrrraaaaggggSSSSttttaaaarrrrtttt function.
  225.  
  226.           XXXXmmmmNNNNddddrrrraaaaggggDDDDrrrrooooppppFFFFiiiinnnniiiisssshhhhCCCCaaaallllllllbbbbaaaacccckkkk
  227.                     Specifies the list of callbacks that are called
  228.                     when the transaction is completed.  The type of
  229.                     the structure whose address is passed to this
  230.                     callback is XXXXmmmmDDDDrrrraaaaggggDDDDrrrrooooppppFFFFiiiinnnniiiisssshhhhCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt.  The
  231.                     reason sent by the callback is
  232.                     XXXXmmmmCCCCRRRR____DDDDRRRRAAAAGGGG____DDDDRRRROOOOPPPP____FFFFIIIINNNNIIIISSSSHHHH.
  233.  
  234.           XXXXmmmmNNNNddddrrrraaaaggggMMMMoooottttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkk
  235.                     Specifies the list of callbacks that are invoked
  236.                     when the pointer moves.  The type of structure
  237.                     whose address is passed to this callback is
  238.                     XXXXmmmmDDDDrrrraaaaggggMMMMoooottttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt.   The reason sent by
  239.                     the callback is XXXXmmmmCCCCRRRR____DDDDRRRRAAAAGGGG____MMMMOOOOTTTTIIIIOOOONNNN.
  240.  
  241.           XXXXmmmmNNNNddddrrrraaaaggggOOOOppppeeeerrrraaaattttiiiioooonnnnssss
  242.                     Specifies the set of valid operations associated
  243.                     with an initiator client for a drag transaction.
  244.                     This resource is a bit mask that is formed by
  245.                     combining one or more of the following values
  246.                     using a bitwise operation such as inclusive OR
  247.                     (|):  XXXXmmmmDDDDRRRROOOOPPPP____CCCCOOOOPPPPYYYY, XXXXmmmmDDDDRRRROOOOPPPP____LLLLIIIINNNNKKKK, XXXXmmmmDDDDRRRROOOOPPPP____MMMMOOOOVVVVEEEE.  The
  248.                     value XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP for this resource indicates that
  249.                     no operations are valid.  For Text and TextField
  250.                     widgets, this resource is set to XXXXmmmmDDDDRRRROOOOPPPP____CCCCOOOOPPPPYYYY |
  251.                     XXXXmmmmDDDDRRRROOOOPPPP____MMMMOOOOVVVVEEEE; for List widgets, it is set to
  252.                     XXXXmmmmDDDDRRRROOOOPPPP____CCCCOOOOPPPPYYYY.
  253.  
  254.           XXXXmmmmNNNNddddrrrrooooppppFFFFiiiinnnniiiisssshhhhCCCCaaaallllllllbbbbaaaacccckkkk
  255.                     Specifies the list of callbacks that are invoked
  256.                     when the drop is completed.   The type of the
  257.                     structure whose address is passed to this callback
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 4/30/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  269.  
  270.  
  271.  
  272.                     is XXXXmmmmDDDDrrrrooooppppFFFFiiiinnnniiiisssshhhhCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt.   The reason sent
  273.                     by the callback is XXXXmmmmCCCCRRRR____DDDDRRRROOOOPPPP____FFFFIIIINNNNIIIISSSSHHHH.
  274.  
  275.           XXXXmmmmNNNNddddrrrrooooppppSSSSiiiitttteeeeEEEEnnnntttteeeerrrrCCCCaaaallllllllbbbbaaaacccckkkk
  276.                     Specifies the list of callbacks that are invoked
  277.                     when the pointer enters a drop site.  The type of
  278.                     the structure whose address is passed to this
  279.                     callback is XXXXmmmmDDDDrrrrooooppppSSSSiiiitttteeeeEEEEnnnntttteeeerrrrCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt.  The
  280.                     reason sent by the callback is
  281.                     XXXXmmmmCCCCRRRR____DDDDRRRROOOOPPPP____SSSSIIIITTTTEEEE____EEEENNNNTTTTEEEERRRR.
  282.  
  283.           XXXXmmmmNNNNddddrrrrooooppppSSSSiiiitttteeeeLLLLeeeeaaaavvvveeeeCCCCaaaallllllllbbbbaaaacccckkkk
  284.                     Specifies the list of callbacks that are invoked
  285.                     when the pointer leaves a drop site.  The type of
  286.                     the structure whose address is passed to this
  287.                     callback is XXXXmmmmDDDDrrrrooooppppSSSSiiiitttteeeeLLLLeeeeaaaavvvveeeeCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt.  The
  288.                     reason sent by the callback is
  289.                     XXXXmmmmCCCCRRRR____DDDDRRRROOOOPPPP____SSSSIIIITTTTEEEE____LLLLEEEEAAAAVVVVEEEE.
  290.  
  291.           XXXXmmmmNNNNddddrrrrooooppppSSSSttttaaaarrrrttttCCCCaaaallllllllbbbbaaaacccckkkk
  292.                     Specifies the list of callbacks that are invoked
  293.                     when a drop is initiated.  The type of the
  294.                     structure whose address is passed to this callback
  295.                     is XXXXmmmmDDDDrrrrooooppppSSSSttttaaaarrrrttttCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt.  The reason sent by
  296.                     the callback is XXXXmmmmCCCCRRRR____DDDDRRRROOOOPPPP____SSSSTTTTAAAARRRRTTTT.
  297.  
  298.           XXXXmmmmNNNNeeeexxxxppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss
  299.                     Specifies the list of target atoms associated with
  300.                     this source.  This resource identifies the
  301.                     selection targets this source can be converted to.
  302.  
  303.           XXXXmmmmNNNNiiiinnnnccccrrrreeeemmmmeeeennnnttttaaaallll
  304.                     Specifies a Boolean value that indicates whether
  305.                     the transfer on the initiator side uses the Xt
  306.                     incremental selection transfer mechanism described
  307.                     in _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s-_C _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e.  If
  308.                     the value is True, the initiator uses incremental
  309.                     transfer; if the value is False, the initiator
  310.                     uses atomic transfer.
  311.  
  312.           XXXXmmmmNNNNiiiinnnnvvvvaaaalllliiiiddddCCCCuuuurrrrssssoooorrrrFFFFoooorrrreeeeggggrrrroooouuuunnnndddd
  313.                     Specifies the foreground pixel value of the cursor
  314.                     when the state is invalid.  This resource defaults
  315.                     to the value of the XXXXmmmmNNNNccccuuuurrrrssssoooorrrrFFFFoooorrrreeeeggggrrrroooouuuunnnndddd resource.
  316.  
  317.           XXXXmmmmNNNNnnnnoooonnnneeeeCCCCuuuurrrrssssoooorrrrFFFFoooorrrreeeeggggrrrroooouuuunnnndddd
  318.                     Specifies the foreground pixel value of the cursor
  319.                     when the state is none.  This resource defaults to
  320.                     the value of the XXXXmmmmNNNNccccuuuurrrrssssoooorrrrFFFFoooorrrreeeeggggrrrroooouuuunnnndddd resource.
  321.  
  322.           XXXXmmmmNNNNnnnnuuuummmmEEEExxxxppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss
  323.                     Specifies the number of entries in the list of
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 4/30/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  335.  
  336.  
  337.  
  338.                     export targets.
  339.  
  340.           XXXXmmmmNNNNooooppppeeeerrrraaaattttiiiioooonnnnCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk
  341.                     Specifies the list of callbacks that are invoked
  342.                     when the drag is started and when the user
  343.                     requests that a different operation be applied to
  344.                     the drop.  The type of the structure whose address
  345.                     is passed to this callback is
  346.                     XXXXmmmmOOOOppppeeeerrrraaaattttiiiioooonnnnCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt.  The reason sent
  347.                     by the callback is XXXXmmmmCCCCRRRR____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN____CCCCHHHHAAAANNNNGGGGEEEEDDDD.
  348.  
  349.           XXXXmmmmNNNNooooppppeeeerrrraaaattttiiiioooonnnnCCCCuuuurrrrssssoooorrrrIIIIccccoooonnnn
  350.                     Specifies the cursor icon used to designate the
  351.                     type of operation performed by the drag
  352.                     transaction.  If  NULL, XXXXmmmmSSSSccccrrrreeeeeeeennnn resources provide
  353.                     default icons for copy, link, and move operations.
  354.  
  355.           XXXXmmmmNNNNssssoooouuuurrrrcccceeeeCCCCuuuurrrrssssoooorrrrIIIIccccoooonnnn
  356.                     Specifies the cursor icon used to represent the
  357.                     source when a dynamic visual style is used.  If
  358.                     NULL, the XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttSSSSoooouuuurrrrcccceeeeCCCCuuuurrrrssssoooorrrrIIIIccccoooonnnn resource of
  359.                     XXXXmmmmSSSSccccrrrreeeeeeeennnn provides a default cursor icon.
  360.  
  361.           XXXXmmmmNNNNssssoooouuuurrrrcccceeeePPPPiiiixxxxmmmmaaaappppIIIIccccoooonnnn
  362.                     Specifies the pixmap icon used to represent the
  363.                     source when a preregister visual style is used.
  364.                     The icon is used in conjunction with the colormap
  365.                     of the widget passed to XXXXmmmmDDDDrrrraaaaggggSSSSttttaaaarrrrtttt.  If NULL,
  366.                     XXXXmmmmNNNNssssoooouuuurrrrcccceeeeCCCCuuuurrrrssssoooorrrrIIIIccccoooonnnn is used.
  367.  
  368.           XXXXmmmmNNNNssssttttaaaatttteeeeCCCCuuuurrrrssssoooorrrrIIIIccccoooonnnn
  369.                     Specifies the cursor icon used to designate the
  370.                     state of a drop site.  If NULL, XXXXmmmmSSSSccccrrrreeeeeeeennnn resources
  371.                     provide default icons for a valid, invalid, and no
  372.                     drop site condition.
  373.  
  374.           XXXXmmmmNNNNttttooooppppLLLLeeeevvvveeeellllEEEEnnnntttteeeerrrrCCCCaaaallllllllbbbbaaaacccckkkk
  375.                     Specifies the list of callbacks that are called
  376.                     when the pointer enters a top-level window or root
  377.                     window (due to changing screens).  The type of the
  378.                     structure whose address is passed to this callback
  379.                     is XXXXmmmmTTTTooooppppLLLLeeeevvvveeeellllEEEEnnnntttteeeerrrrCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt.  The reason sent
  380.                     by the callback is XXXXmmmmCCCCRRRR____TTTTOOOOPPPP____LLLLEEEEVVVVEEEELLLL____EEEENNNNTTTTEEEERRRR.
  381.  
  382.           XXXXmmmmNNNNttttooooppppLLLLeeeevvvveeeellllLLLLeeeeaaaavvvveeeeCCCCaaaallllllllbbbbaaaacccckkkk
  383.                     Specifies the list of callbacks that are called
  384.                     when the pointer leaves a top level window or the
  385.                     root window (due to changing screens).  The type
  386.                     of the structure whose address is passed to this
  387.                     callback is XXXXmmmmTTTTooooppppLLLLeeeevvvveeeellllLLLLeeeeaaaavvvveeeeCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt.  The
  388.                     reason sent by the callback is
  389.                     XXXXmmmmCCCCRRRR____TTTTOOOOPPPP____LLLLEEEEVVVVEEEELLLL____LLLLEEEEAAAAVVVVEEEE.
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 4/30/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  401.  
  402.  
  403.  
  404.           XXXXmmmmNNNNvvvvaaaalllliiiiddddCCCCuuuurrrrssssoooorrrrFFFFoooorrrreeeeggggrrrroooouuuunnnndddd
  405.                     Specifies the foreground pixel value of the cursor
  406.                     designated as a valid cursor icon.
  407.  
  408.  
  409.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  410.           DragContext inherits behavior and resources from the
  411.           following superclass.  For a complete description of each
  412.           resource, refer to the CCCCoooorrrreeee man page.
  413.  
  414.                                                    CCCCoooorrrreeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  415.      NNNNaaaammmmeeee                            CCCCllllaaaassssssss                           TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  416.      ______________________________________________________________________________________________________________
  417.      XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
  418.      XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
  419.      XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
  420.      XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  421.      XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
  422.      XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  423.      XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
  424.      XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
  425.      XmNdepth                        XmCDepth                        int              dynamic                CG
  426.      XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
  427.      XmNheight                       XmCHeight                       Dimension        dynamic                CSG
  428.      XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
  429.      XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
  430.      XmNscreen                       XmCScreen                       Screen *         dynamic                CG
  431.      XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
  432.      XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
  433.      XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
  434.      XmNx                            XmCPosition                     Position         0                      CSG
  435.      XmNy                            XmCPosition                     Position         0                      CSG
  436.  
  437.         CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
  438.           Each of the DragContext callbacks has an associated callback
  439.           structure.
  440.  
  441.           A pointer to the following structure is passed to the
  442.           XXXXmmmmNNNNddddrrrraaaaggggDDDDrrrrooooppppFFFFiiiinnnniiiisssshhhhCCCCaaaallllllllbbbbaaaacccckkkk callback.
  443.  
  444.           ttttyyyyppppeeeeddddeeeeffff ssssttttrrrruuuucccctttt
  445.           {{{{
  446.             iiiinnnntttt          _r_e_a_s_o_n;;;;
  447.             XXXXEEEEvvvveeeennnntttt       ****_e_v_e_n_t;;;;
  448.             TTTTiiiimmmmeeee         _t_i_m_e_S_t_a_m_p;;;;
  449.           }}}}XXXXmmmmDDDDrrrraaaaggggDDDDrrrrooooppppFFFFiiiinnnniiiisssshhhhCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt,,,, ****XXXXmmmmDDDDrrrraaaaggggDDDDrrrrooooppppFFFFiiiinnnniiiisssshhhhCCCCaaaallllllllbbbbaaaacccckkkk;;;;
  450.  
  451.  
  452.           _r_e_a_s_o_n      Indicates why the callback was invoked.
  453.  
  454.           _e_v_e_n_t       Points to the XXXXEEEEvvvveeeennnntttt that triggered the
  455.                       callback.
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 4/30/98)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  467.  
  468.  
  469.  
  470.           _t_i_m_e_s_t_a_m_p   Specifies the time at which either the drag or
  471.                       the drop was completed.
  472.  
  473.  
  474.           A pointer to the following structure is passed to callbacks
  475.           for XXXXmmmmNNNNddddrrrraaaaggggMMMMoooottttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkk.
  476.  
  477.           ttttyyyyppppeeeeddddeeeeffff ssssttttrrrruuuucccctttt
  478.           {{{{
  479.             iiiinnnntttt          _r_e_a_s_o_n;;;;
  480.             XXXXEEEEvvvveeeennnntttt       ****_e_v_e_n_t;;;;
  481.             TTTTiiiimmmmeeee         _t_i_m_e_S_t_a_m_p;;;;
  482.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_o_p_e_r_a_t_i_o_n;;;;
  483.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_o_p_e_r_a_t_i_o_n_s;;;;
  484.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_d_r_o_p_S_i_t_e_S_t_a_t_u_s;;;;
  485.             PPPPoooossssiiiittttiiiioooonnnn     _x;;;;
  486.             PPPPoooossssiiiittttiiiioooonnnn     _y;;;;
  487.           }}}}XXXXmmmmDDDDrrrraaaaggggMMMMoooottttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt,,,, ****XXXXmmmmDDDDrrrraaaaggggMMMMoooottttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkk;;;;
  488.  
  489.  
  490.           _r_e_a_s_o_n      Indicates why the callback was invoked.
  491.  
  492.           _e_v_e_n_t       Points to the XXXXEEEEvvvveeeennnntttt that triggered the
  493.                       callback.
  494.  
  495.           _t_i_m_e_S_t_a_m_p   Specifies the timestamp of the logical event.
  496.  
  497.           _o_p_e_r_a_t_i_o_n   Identifies an operation.
  498.  
  499.                       If the toolkit has just called a DropSite's
  500.                       XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, the toolkit initializes _o_p_e_r_a_t_i_o_n
  501.                       to the value of the _o_p_e_r_a_t_i_o_n member of the
  502.                       XXXXmmmmDDDDrrrraaaaggggPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  503.                       DropSite's XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc returns.
  504.  
  505.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc and
  506.                       the pointer is within an active drop site, the
  507.                       toolkit initializes _o_p_e_r_a_t_i_o_n by selecting an
  508.                       operation from the bitwise AND of the initial
  509.                       value of the _o_p_e_r_a_t_i_o_n_s member and the value of
  510.                       the DropSite's XXXXmmmmNNNNddddrrrrooooppppSSSSiiiitttteeeeOOOOppppeeeerrrraaaattttiiiioooonnnnssss resource.
  511.                       The toolkit searches this set first for
  512.                       XXXXmmmmDDDDRRRROOOOPPPP____MMMMOOOOVVVVEEEE, then for XXXXmmmmDDDDRRRROOOOPPPP____CCCCOOOOPPPPYYYY, then for
  513.                       XXXXmmmmDDDDRRRROOOOPPPP____LLLLIIIINNNNKKKK, and initializes _o_p_e_r_a_t_i_o_n to the
  514.                       first operation it finds in the set.  If the
  515.                       toolkit finds none of these operations in the
  516.                       set, it initializes _o_p_e_r_a_t_i_o_n to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  517.  
  518.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc and
  519.                       the pointer is not within an active drop site,
  520.                       the toolkit initializes _o_p_e_r_a_t_i_o_n by selecting
  521.                       an operation from the initial value of the
  522.  
  523.  
  524.  
  525.      Page 8                                          (printed 4/30/98)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  533.  
  534.  
  535.  
  536.                       _o_p_e_r_a_t_i_o_n_s member.  The toolkit searches this
  537.                       set first for XXXXmmmmDDDDRRRROOOOPPPP____MMMMOOOOVVVVEEEE, then for XXXXmmmmDDDDRRRROOOOPPPP____CCCCOOOOPPPPYYYY,
  538.                       then for XXXXmmmmDDDDRRRROOOOPPPP____LLLLIIIINNNNKKKK, and initializes _o_p_e_r_a_t_i_o_n
  539.                       to the first operation it finds in the set.  If
  540.                       the toolkit finds none of these operations in
  541.                       the set, it initializes _o_p_e_r_a_t_i_o_n to
  542.                       XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  543.  
  544.           _o_p_e_r_a_t_i_o_n_s  Indicates the set of operations supported for
  545.                       the source data.
  546.  
  547.                       If the toolkit has just called a DropSite's
  548.                       XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, the toolkit initializes _o_p_e_r_a_t_i_o_n_s
  549.                       to the bitwise AND of the DropSite's
  550.                       XXXXmmmmNNNNddddrrrrooooppppOOOOppppeeeerrrraaaattttiiiioooonnnnssss and the value of the
  551.                       _o_p_e_r_a_t_i_o_n_s member of the
  552.                       XXXXmmmmDDDDrrrraaaaggggPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  553.                       DropSite's XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc returns.  If the
  554.                       resulting set of operations is empty, the
  555.                       toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  556.  
  557.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc and
  558.                       the user does not select an operation (by
  559.                       pressing a modifier key), the toolkit
  560.                       initializes _o_p_e_r_a_t_i_o_n_s to the value of the
  561.                       DragContext's XXXXmmmmNNNNddddrrrraaaaggggOOOOppppeeeerrrraaaattttiiiioooonnnnssss resource.
  562.  
  563.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc and
  564.                       the user does select an operation, the toolkit
  565.                       initializes _o_p_e_r_a_t_i_o_n_s to the bitwise AND of the
  566.                       corresponding operation and the value of the
  567.                       DragContext's XXXXmmmmNNNNddddrrrraaaaggggOOOOppppeeeerrrraaaattttiiiioooonnnnssss resource.  If
  568.                       the resulting set of operations is empty, the
  569.                       toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  570.  
  571.           _d_r_o_p_S_i_t_e_S_t_a_t_u_s
  572.                       Indicates whether or not a drop site is valid.
  573.  
  574.                       If the toolkit has just called a DropSite's
  575.                       XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, the toolkit initializes
  576.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s to the value of the
  577.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s member of the
  578.                       XXXXmmmmDDDDrrrraaaaggggPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  579.                       DropSite's XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc returns.
  580.  
  581.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, it
  582.                       initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s as follows:  the
  583.                       toolkit initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to
  584.                       XXXXmmmmNNNNOOOO____DDDDRRRROOOOPPPP____SSSSIIIITTTTEEEE if the pointer is over an
  585.                       inactive drop site or is not over a drop site.
  586.                       The toolkit initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to
  587.                       XXXXmmmmDDDDRRRROOOOPPPP____SSSSIIIITTTTEEEE____VVVVAAAALLLLIIIIDDDD if all the following
  588.  
  589.  
  590.  
  591.      Page 9                                          (printed 4/30/98)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  599.  
  600.  
  601.  
  602.                       conditions are met:
  603.  
  604.  
  605.                         +o  The pointer is over an active drop site.
  606.  
  607.                         +o  The DragContext's XXXXmmmmNNNNeeeexxxxppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss and the
  608.                            DropSite's XXXXmmmmNNNNiiiimmmmppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss are compatible.
  609.  
  610.                         +o  The initial value of the _o_p_e_r_a_t_i_o_n member
  611.                            is not XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  612.  
  613.                       Otherwise, the toolkit initializes
  614.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s to XXXXmmmmDDDDRRRROOOOPPPP____SSSSIIIITTTTEEEE____IIIINNNNVVVVAAAALLLLIIIIDDDD.
  615.  
  616.  
  617.           A pointer to the following structure is passed for the
  618.           XXXXmmmmNNNNddddrrrrooooppppFFFFiiiinnnniiiisssshhhhCCCCaaaallllllllbbbbaaaacccckkkk callback:
  619.  
  620.           ttttyyyyppppeeeeddddeeeeffff ssssttttrrrruuuucccctttt
  621.           {{{{
  622.             iiiinnnntttt          _r_e_a_s_o_n;;;;
  623.             XXXXEEEEvvvveeeennnntttt       ****_e_v_e_n_t;;;;
  624.             TTTTiiiimmmmeeee         _t_i_m_e_S_t_a_m_p;;;;
  625.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_o_p_e_r_a_t_i_o_n;;;;
  626.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_o_p_e_r_a_t_i_o_n_s;;;;
  627.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_d_r_o_p_S_i_t_e_S_t_a_t_u_s;;;;
  628.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_d_r_o_p_A_c_t_i_o_n;;;;
  629.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_c_o_m_p_l_e_t_i_o_n_S_t_a_t_u_s;;;;
  630.           }}}}XXXXmmmmDDDDrrrrooooppppFFFFiiiinnnniiiisssshhhhCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt,,,, ****XXXXmmmmDDDDrrrrooooppppFFFFiiiinnnniiiisssshhhhCCCCaaaallllllllbbbbaaaacccckkkk;;;;
  631.  
  632.  
  633.           _r_e_a_s_o_n      Indicates why the callback was invoked.
  634.  
  635.           _e_v_e_n_t       Points to the XXXXEEEEvvvveeeennnntttt that triggered the
  636.                       callback.
  637.  
  638.           _t_i_m_e_S_t_a_m_p   Specifies the time at which the drop was
  639.                       completed.
  640.  
  641.           _o_p_e_r_a_t_i_o_n   Identifies an operation.
  642.  
  643.                       If the pointer is over an active drop site when
  644.                       the drop begins, the toolkit initializes
  645.                       _o_p_e_r_a_t_i_o_n to the value of the _o_p_e_r_a_t_i_o_n member
  646.                       of the XXXXmmmmDDDDrrrrooooppppPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  647.                       DropSite's XXXXmmmmNNNNddddrrrrooooppppPPPPrrrroooocccc returns.
  648.  
  649.                       If the pointer is not over an active drop site
  650.                       when the drop begins, the toolkit initializes
  651.                       _o_p_e_r_a_t_i_o_n by selecting an operation from the
  652.                       initial value of the _o_p_e_r_a_t_i_o_n_s member.  The
  653.                       toolkit searches this set first for XXXXmmmmDDDDRRRROOOOPPPP____MMMMOOOOVVVVEEEE,
  654.  
  655.  
  656.  
  657.      Page 10                                         (printed 4/30/98)
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  665.  
  666.  
  667.  
  668.                       then for XXXXmmmmDDDDRRRROOOOPPPP____CCCCOOOOPPPPYYYY, then for XXXXmmmmDDDDRRRROOOOPPPP____LLLLIIIINNNNKKKK, and
  669.                       initializes _o_p_e_r_a_t_i_o_n to the first operation it
  670.                       finds in the set.  If it finds none of these
  671.                       operations in the set, it initializes _o_p_e_r_a_t_i_o_n
  672.                       to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  673.  
  674.           _o_p_e_r_a_t_i_o_n_s  Indicates the set of operations supported for
  675.                       the source data.
  676.  
  677.                       If the pointer is over an active drop site when
  678.                       the drop begins, the toolkit initializes
  679.                       _o_p_e_r_a_t_i_o_n_s to the bitwise AND of the DropSite's
  680.                       XXXXmmmmNNNNddddrrrrooooppppOOOOppppeeeerrrraaaattttiiiioooonnnnssss and the value of the
  681.                       _o_p_e_r_a_t_i_o_n_s member of the
  682.                       XXXXmmmmDDDDrrrrooooppppPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  683.                       DropSite's XXXXmmmmNNNNddddrrrrooooppppPPPPrrrroooocccc returns.  If the
  684.                       resulting set of operations is empty, the
  685.                       toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  686.  
  687.                       If the pointer is not over an active drop site
  688.                       when the drop begins and if the user does not
  689.                       select an operation (by pressing a modifier
  690.                       key), the toolkit initializes _o_p_e_r_a_t_i_o_n_s to the
  691.                       value of the DragContext's XXXXmmmmNNNNddddrrrraaaaggggOOOOppppeeeerrrraaaattttiiiioooonnnnssss
  692.                       resource.
  693.  
  694.                       If the pointer is not over an active drop site
  695.                       when the drop begins and if the user does select
  696.                       an operation, the toolkit initializes _o_p_e_r_a_t_i_o_n_s
  697.                       to the bitwise AND of the corresponding
  698.                       operation and the value of the DragContext's
  699.                       XXXXmmmmNNNNddddrrrraaaaggggOOOOppppeeeerrrraaaattttiiiioooonnnnssss resource.  If the resulting
  700.                       set of operations is empty, the toolkit
  701.                       initializes _o_p_e_r_a_t_i_o_n_s to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  702.  
  703.           _d_r_o_p_S_i_t_e_S_t_a_t_u_s
  704.                       Indicates whether or not a drop site is valid.
  705.  
  706.                       If the pointer is over an active drop site when
  707.                       the drop begins, the toolkit initializes
  708.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s to the value of the
  709.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s member of the
  710.                       XXXXmmmmDDDDrrrrooooppppPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  711.                       DropSite's XXXXmmmmNNNNddddrrrrooooppppPPPPrrrroooocccc returns.
  712.  
  713.                       If the pointer is not over an active drop site
  714.                       when the drop begins, the toolkit initializes
  715.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s to XXXXmmmmNNNNOOOO____DDDDRRRROOOOPPPP____SSSSIIIITTTTEEEE.
  716.  
  717.           _d_r_o_p_A_c_t_i_o_n  Identifies the drop action.  The values are:
  718.                       XXXXmmmmDDDDRRRROOOOPPPP, XXXXmmmmDDDDRRRROOOOPPPP____CCCCAAAANNNNCCCCEEEELLLL, XXXXmmmmDDDDRRRROOOOPPPP____HHHHEEEELLLLPPPP, and
  719.                       XXXXmmmmDDDDRRRROOOOPPPP____IIIINNNNTTTTEEEERRRRRRRRUUUUPPPPTTTT.  The value XXXXmmmmDDDDRRRROOOOPPPP____IIIINNNNTTTTEEEERRRRRRRRUUUUPPPPTTTT is
  720.  
  721.  
  722.  
  723.      Page 11                                         (printed 4/30/98)
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  731.  
  732.  
  733.  
  734.                       currently unsupported; if specified, it will be
  735.                       interpreted as an XXXXmmmmDDDDRRRROOOOPPPP____CCCCAAAANNNNCCCCEEEELLLL.
  736.  
  737.           _c_o_m_p_l_e_t_i_o_n_S_t_a_t_u_s
  738.                       An IN/OUT member that indicates the status of
  739.                       the drop action.  After the last callback
  740.                       procedure has returned, the final value of this
  741.                       member determines what visual transition effects
  742.                       will be applied.  There are two values:
  743.  
  744.  
  745.                       XXXXmmmmDDDDRRRROOOOPPPP____SSSSUUUUCCCCCCCCEEEESSSSSSSS
  746.                          The drop was successful.
  747.  
  748.                       XXXXmmmmDDDDRRRROOOOPPPP____FFFFAAAAIIIILLLLUUUURRRREEEE
  749.                          The drop was unsuccessful.
  750.  
  751.  
  752.           A pointer to the following structure is passed to callbacks
  753.           for XXXXmmmmNNNNddddrrrrooooppppSSSSiiiitttteeeeEEEEnnnntttteeeerrrrCCCCaaaallllllllbbbbaaaacccckkkk:
  754.  
  755.           ttttyyyyppppeeeeddddeeeeffff ssssttttrrrruuuucccctttt
  756.           {{{{
  757.             iiiinnnntttt          _r_e_a_s_o_n;;;;
  758.             XXXXEEEEvvvveeeennnntttt       ****_e_v_e_n_t;;;;
  759.             TTTTiiiimmmmeeee         _t_i_m_e_S_t_a_m_p;;;;
  760.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_o_p_e_r_a_t_i_o_n;;;;
  761.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_o_p_e_r_a_t_i_o_n_s;;;;
  762.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_d_r_o_p_S_i_t_e_S_t_a_t_u_s;;;;
  763.             PPPPoooossssiiiittttiiiioooonnnn     _x;;;;
  764.             PPPPoooossssiiiittttiiiioooonnnn     _y;;;;
  765.           }}}}XXXXmmmmDDDDrrrrooooppppSSSSiiiitttteeeeEEEEnnnntttteeeerrrrCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt,,,, ****XXXXmmmmDDDDrrrrooooppppSSSSiiiitttteeeeEEEEnnnntttteeeerrrrCCCCaaaallllllllbbbbaaaacccckkkk;;;;
  766.  
  767.  
  768.           _r_e_a_s_o_n      Indicates why the callback was invoked.
  769.  
  770.           _e_v_e_n_t       Points to the XXXXEEEEvvvveeeennnntttt that triggered the
  771.                       callback.
  772.  
  773.           _t_i_m_e_s_t_a_m_p   Specifies the time the crossing event occurred.
  774.  
  775.           _o_p_e_r_a_t_i_o_n   Identifies an operation.
  776.  
  777.                       If the toolkit has just called a DropSite's
  778.                       XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, the toolkit initializes _o_p_e_r_a_t_i_o_n
  779.                       to the value of the _o_p_e_r_a_t_i_o_n member of the
  780.                       XXXXmmmmDDDDrrrraaaaggggPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  781.                       DropSite's XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc returns.
  782.  
  783.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, it
  784.                       initializes _o_p_e_r_a_t_i_o_n by selecting an operation
  785.                       from the bitwise AND of the initial value of the
  786.  
  787.  
  788.  
  789.      Page 12                                         (printed 4/30/98)
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  797.  
  798.  
  799.  
  800.                       _o_p_e_r_a_t_i_o_n_s member and the value of the
  801.                       DropSite's XXXXmmmmNNNNddddrrrrooooppppSSSSiiiitttteeeeOOOOppppeeeerrrraaaattttiiiioooonnnnssss resource.  The
  802.                       toolkit searches this set first for XXXXmmmmDDDDRRRROOOOPPPP____MMMMOOOOVVVVEEEE,
  803.                       then for XXXXmmmmDDDDRRRROOOOPPPP____CCCCOOOOPPPPYYYY, then for XXXXmmmmDDDDRRRROOOOPPPP____LLLLIIIINNNNKKKK, and
  804.                       initializes _o_p_e_r_a_t_i_o_n to the first operation it
  805.                       finds in the set.  If the toolkit finds none of
  806.                       these operations in the set, it initializes
  807.                       _o_p_e_r_a_t_i_o_n to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  808.  
  809.           _o_p_e_r_a_t_i_o_n_s  Indicates the set of operations supported for
  810.                       the source data.
  811.  
  812.                       If the toolkit has just called a DropSite's
  813.                       XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, the toolkit initializes _o_p_e_r_a_t_i_o_n_s
  814.                       to the bitwise AND of the DropSite's
  815.                       XXXXmmmmNNNNddddrrrrooooppppOOOOppppeeeerrrraaaattttiiiioooonnnnssss and the value of the
  816.                       _o_p_e_r_a_t_i_o_n_s member of the
  817.                       XXXXmmmmDDDDrrrraaaaggggPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  818.                       DropSite's XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc returns.  If the
  819.                       resulting set of operations is empty, the
  820.                       toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  821.  
  822.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc and
  823.                       the user does not select an operation (by
  824.                       pressing a modifier key), the toolkit
  825.                       initializes _o_p_e_r_a_t_i_o_n_s to the value of the
  826.                       DragContext's XXXXmmmmNNNNddddrrrraaaaggggOOOOppppeeeerrrraaaattttiiiioooonnnnssss resource.
  827.  
  828.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc and
  829.                       the user does select an operation, the toolkit
  830.                       initializes _o_p_e_r_a_t_i_o_n_s to the bitwise AND of the
  831.                       corresponding operation and the value of the
  832.                       DragContext's XXXXmmmmNNNNddddrrrraaaaggggOOOOppppeeeerrrraaaattttiiiioooonnnnssss resource.  If
  833.                       the resulting set of operations is empty, the
  834.                       toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  835.  
  836.           _d_r_o_p_S_i_t_e_S_t_a_t_u_s
  837.                       Indicates whether or not a drop site is valid.
  838.  
  839.                       If the toolkit has just called a DropSite's
  840.                       XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, the toolkit initializes
  841.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s to the value of the
  842.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s member of the
  843.                       XXXXmmmmDDDDrrrraaaaggggPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  844.                       DropSite's XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc returns.
  845.  
  846.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, it
  847.                       initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s as follows:  the
  848.                       toolkit initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to
  849.                       XXXXmmmmDDDDRRRROOOOPPPP____SSSSIIIITTTTEEEE____VVVVAAAALLLLIIIIDDDD if the DragContext's
  850.                       XXXXmmmmNNNNeeeexxxxppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss and the DropSite's
  851.                       XXXXmmmmNNNNiiiimmmmppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss are compatible and if the
  852.  
  853.  
  854.  
  855.      Page 13                                         (printed 4/30/98)
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  863.  
  864.  
  865.  
  866.                       initial value of the _o_p_e_r_a_t_i_o_n member is not
  867.                       XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.  Otherwise, the toolkit initializes
  868.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s to XXXXmmmmDDDDRRRROOOOPPPP____SSSSIIIITTTTEEEE____IIIINNNNVVVVAAAALLLLIIIIDDDD.
  869.  
  870.           _x           Indicates the x-coordinate of the pointer in
  871.                       root window coordinates.
  872.  
  873.           _y           Indicates the y-coordinate of the pointer in
  874.                       root window coordinates.
  875.  
  876.  
  877.           A pointer to the following structure is passed to callbacks
  878.           for XXXXmmmmNNNNddddrrrrooooppppSSSSiiiitttteeeeLLLLeeeeaaaavvvveeeeCCCCaaaallllllllbbbbaaaacccckkkk.
  879.  
  880.           ttttyyyyppppeeeeddddeeeeffff ssssttttrrrruuuucccctttt
  881.           {{{{
  882.             iiiinnnntttt          _r_e_a_s_o_n;;;;
  883.             XXXXEEEEvvvveeeennnntttt       ****_e_v_e_n_t;;;;
  884.             TTTTiiiimmmmeeee         _t_i_m_e_S_t_a_m_p;;;;
  885.           }}}}XXXXmmmmDDDDrrrrooooppppSSSSiiiitttteeeeLLLLeeeeaaaavvvveeeeCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt,,,, ****XXXXmmmmDDDDrrrrooooppppSSSSiiiitttteeeeLLLLeeeeaaaavvvveeeeCCCCaaaallllllllbbbbaaaacccckkkk;;;;
  886.  
  887.  
  888.           _r_e_a_s_o_n      Indicates why the callback was invoked.
  889.  
  890.           _e_v_e_n_t       Points to the XXXXEEEEvvvveeeennnntttt that triggered the
  891.                       callback.
  892.  
  893.           _t_i_m_e_S_t_a_m_p   Specifies the timestamp of the logical event.
  894.  
  895.  
  896.           A pointer to the following structure is passed for the
  897.           XXXXmmmmNNNNddddrrrrooooppppSSSSttttaaaarrrrttttCCCCaaaallllllllbbbbaaaacccckkkk callback:
  898.  
  899.           ttttyyyyppppeeeeddddeeeeffff ssssttttrrrruuuucccctttt
  900.           {{{{
  901.             iiiinnnntttt          _r_e_a_s_o_n;;;;
  902.             XXXXEEEEvvvveeeennnntttt       ****_e_v_e_n_t;;;;
  903.             TTTTiiiimmmmeeee         _t_i_m_e_S_t_a_m_p;;;;
  904.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_o_p_e_r_a_t_i_o_n;;;;
  905.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_o_p_e_r_a_t_i_o_n_s;;;;
  906.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_d_r_o_p_S_i_t_e_S_t_a_t_u_s;;;;
  907.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_d_r_o_p_A_c_t_i_o_n;;;;
  908.             PPPPoooossssiiiittttiiiioooonnnn     _x;;;;
  909.             PPPPoooossssiiiittttiiiioooonnnn     _y;;;;
  910.           }}}}XXXXmmmmDDDDrrrrooooppppSSSSttttaaaarrrrttttCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt,,,, ****XXXXmmmmDDDDrrrrooooppppSSSSttttaaaarrrrttttCCCCaaaallllllllbbbbaaaacccckkkk;;;;
  911.  
  912.  
  913.           _r_e_a_s_o_n      Indicates why the callback was invoked.
  914.  
  915.           _e_v_e_n_t       Points to the XXXXEEEEvvvveeeennnntttt that triggered the
  916.                       callback.
  917.  
  918.  
  919.  
  920.  
  921.      Page 14                                         (printed 4/30/98)
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  929.  
  930.  
  931.  
  932.           _t_i_m_e_S_t_a_m_p   Specifies the time at which the drag was
  933.                       completed.
  934.  
  935.           _o_p_e_r_a_t_i_o_n   Identifies an operation.
  936.  
  937.                       If the pointer is over an active drop site when
  938.                       the drop begins, the toolkit initializes
  939.                       _o_p_e_r_a_t_i_o_n to the value of the _o_p_e_r_a_t_i_o_n member
  940.                       of the XXXXmmmmDDDDrrrrooooppppPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  941.                       DropSite's XXXXmmmmNNNNddddrrrrooooppppPPPPrrrroooocccc returns.
  942.  
  943.                       If the pointer is not over an active drop site
  944.                       when the drop begins, the toolkit initializes
  945.                       _o_p_e_r_a_t_i_o_n by selecting an operation from the
  946.                       initial value of the _o_p_e_r_a_t_i_o_n_s member.  The
  947.                       toolkit searches this set first for XXXXmmmmDDDDRRRROOOOPPPP____MMMMOOOOVVVVEEEE,
  948.                       then for XXXXmmmmDDDDRRRROOOOPPPP____CCCCOOOOPPPPYYYY, then for XXXXmmmmDDDDRRRROOOOPPPP____LLLLIIIINNNNKKKK, and
  949.                       initializes _o_p_e_r_a_t_i_o_n to the first operation it
  950.                       finds in the set.  If it finds none of these
  951.                       operations in the set, it initializes _o_p_e_r_a_t_i_o_n
  952.                       to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  953.  
  954.           _o_p_e_r_a_t_i_o_n_s  Indicates the set of operations supported for
  955.                       the source data.
  956.  
  957.                       If the pointer is over an active drop site when
  958.                       the drop begins, the toolkit initializes
  959.                       _o_p_e_r_a_t_i_o_n_s to the bitwise AND of the DropSite's
  960.                       XXXXmmmmNNNNddddrrrrooooppppOOOOppppeeeerrrraaaattttiiiioooonnnnssss and the value of the
  961.                       _o_p_e_r_a_t_i_o_n_s member of the
  962.                       XXXXmmmmDDDDrrrrooooppppPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  963.                       DropSite's XXXXmmmmNNNNddddrrrrooooppppPPPPrrrroooocccc returns.  If the
  964.                       resulting set of operations is empty, the
  965.                       toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  966.  
  967.                       If the pointer is not over an active drop site
  968.                       when the drop begins and if the user does not
  969.                       select an operation (by pressing a modifier
  970.                       key), the toolkit initializes _o_p_e_r_a_t_i_o_n_s to the
  971.                       value of the DragContext's XXXXmmmmNNNNddddrrrraaaaggggOOOOppppeeeerrrraaaattttiiiioooonnnnssss
  972.                       resource.
  973.  
  974.                       If the pointer is not over an active drop site
  975.                       when the drop begins and if the user does select
  976.                       an operation, the toolkit initializes _o_p_e_r_a_t_i_o_n_s
  977.                       to the bitwise AND of the corresponding
  978.                       operation and the value of the DragContext's
  979.                       XXXXmmmmNNNNddddrrrraaaaggggOOOOppppeeeerrrraaaattttiiiioooonnnnssss resource.  If the resulting
  980.                       set of operations is empty, the toolkit
  981.                       initializes _o_p_e_r_a_t_i_o_n_s to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  982.  
  983.           _d_r_o_p_S_i_t_e_S_t_a_t_u_s
  984.  
  985.  
  986.  
  987.      Page 15                                         (printed 4/30/98)
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  995.  
  996.  
  997.  
  998.                       Indicates whether or not a drop site is valid.
  999.  
  1000.                       If the pointer is over an active drop site when
  1001.                       the drop begins, the toolkit initializes
  1002.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s to the value of the
  1003.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s member of the
  1004.                       XXXXmmmmDDDDrrrrooooppppPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  1005.                       DropSite's XXXXmmmmNNNNddddrrrrooooppppPPPPrrrroooocccc returns.
  1006.  
  1007.                       If the pointer is not over an active drop site
  1008.                       when the drop begins, the toolkit initializes
  1009.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s to XXXXmmmmNNNNOOOO____DDDDRRRROOOOPPPP____SSSSIIIITTTTEEEE.
  1010.  
  1011.           _d_r_o_p_A_c_t_i_o_n  An IN/OUT member that identifies the drop
  1012.                       action.  The values are XXXXmmmmDDDDRRRROOOOPPPP, XXXXmmmmDDDDRRRROOOOPPPP____CCCCAAAANNNNCCCCEEEELLLL,
  1013.                       XXXXmmmmDDDDRRRROOOOPPPP____HHHHEEEELLLLPPPP, and XXXXmmmmDDDDRRRROOOOPPPP____IIIINNNNTTTTEEEERRRRRRRRUUUUPPPPTTTT.  The value of
  1014.                       _d_r_o_p_A_c_t_i_o_n can be modified to change the action
  1015.                       actually initiated. The value XXXXmmmmDDDDRRRROOOOPPPP____IIIINNNNTTTTEEEERRRRRRRRUUUUPPPPTTTT
  1016.                       is currently unsupported; if specified, it will
  1017.                       be interpreted as a XXXXmmmmDDDDRRRROOOOPPPP____CCCCAAAANNNNCCCCEEEELLLL.
  1018.  
  1019.           _x           Indicates the x-coordinate of the pointer in
  1020.                       root window coordinates.
  1021.  
  1022.           _y           Indicates the y-coordinate of the pointer in
  1023.                       root window coordinates.
  1024.  
  1025.  
  1026.           A pointer to the following structure is passed to the
  1027.           XXXXmmmmNNNNooooppppeeeerrrraaaattttiiiioooonnnnCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk callback:
  1028.  
  1029.           ttttyyyyppppeeeeddddeeeeffff ssssttttrrrruuuucccctttt
  1030.           {{{{
  1031.             iiiinnnntttt          _r_e_a_s_o_n;;;;
  1032.             XXXXEEEEvvvveeeennnntttt       ****_e_v_e_n_t;;;;
  1033.             TTTTiiiimmmmeeee         _t_i_m_e_S_t_a_m_p;;;;
  1034.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_o_p_e_r_a_t_i_o_n;;;;
  1035.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_o_p_e_r_a_t_i_o_n_s;;;;
  1036.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_d_r_o_p_S_i_t_e_S_t_a_t_u_s;;;;
  1037.           }}}}XXXXmmmmOOOOppppeeeerrrraaaattttiiiioooonnnnCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt,,,, ****XXXXmmmmOOOOppppeeeerrrraaaattttiiiioooonnnnCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk;;;;
  1038.  
  1039.  
  1040.           _r_e_a_s_o_n      Indicates why the callback was invoked.
  1041.  
  1042.           _e_v_e_n_t       Points to the XXXXEEEEvvvveeeennnntttt that triggered the
  1043.                       callback.
  1044.  
  1045.           _t_i_m_e_s_t_a_m_p   Specifies the time at which the crossing event
  1046.                       occurred.
  1047.  
  1048.           _o_p_e_r_a_t_i_o_n   Identifies an operation.
  1049.  
  1050.  
  1051.  
  1052.  
  1053.      Page 16                                         (printed 4/30/98)
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  1061.  
  1062.  
  1063.  
  1064.                       If the toolkit has just called a DropSite's
  1065.                       XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, the toolkit initializes _o_p_e_r_a_t_i_o_n
  1066.                       to the value of the _o_p_e_r_a_t_i_o_n member of the
  1067.                       XXXXmmmmDDDDrrrraaaaggggPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  1068.                       DropSite's XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc returns.
  1069.  
  1070.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc and
  1071.                       the pointer is within an active drop site, the
  1072.                       toolkit initializes _o_p_e_r_a_t_i_o_n by selecting an
  1073.                       operation from the bitwise AND of the initial
  1074.                       value of the _o_p_e_r_a_t_i_o_n_s member and the value of
  1075.                       the DropSite's XXXXmmmmNNNNddddrrrrooooppppSSSSiiiitttteeeeOOOOppppeeeerrrraaaattttiiiioooonnnnssss resource.
  1076.                       The toolkit searches this set first for
  1077.                       XXXXmmmmDDDDRRRROOOOPPPP____MMMMOOOOVVVVEEEE, then for XXXXmmmmDDDDRRRROOOOPPPP____CCCCOOOOPPPPYYYY, then for
  1078.                       XXXXmmmmDDDDRRRROOOOPPPP____LLLLIIIINNNNKKKK, and initializes _o_p_e_r_a_t_i_o_n to the
  1079.                       first operation it finds in the set.  If the
  1080.                       toolkit finds none of these operations in the
  1081.                       set, it initializes _o_p_e_r_a_t_i_o_n to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  1082.  
  1083.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc and
  1084.                       the pointer is not within an active drop site,
  1085.                       the toolkit initializes _o_p_e_r_a_t_i_o_n by selecting
  1086.                       an operation from the initial value of the
  1087.                       _o_p_e_r_a_t_i_o_n_s member.  The toolkit searches this
  1088.                       set first for XXXXmmmmDDDDRRRROOOOPPPP____MMMMOOOOVVVVEEEE, then for XXXXmmmmDDDDRRRROOOOPPPP____CCCCOOOOPPPPYYYY,
  1089.                       then for XXXXmmmmDDDDRRRROOOOPPPP____LLLLIIIINNNNKKKK, and initializes _o_p_e_r_a_t_i_o_n
  1090.                       to the first operation it finds in the set.  If
  1091.                       the toolkit finds none of these operations in
  1092.                       the set, it initializes _o_p_e_r_a_t_i_o_n to
  1093.                       XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  1094.  
  1095.           _o_p_e_r_a_t_i_o_n_s  Indicates the set of operations supported for
  1096.                       the source data.
  1097.  
  1098.                       If the toolkit has just called a DropSite's
  1099.                       XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, the toolkit initializes _o_p_e_r_a_t_i_o_n_s
  1100.                       to the bitwise AND of the DropSite's
  1101.                       XXXXmmmmNNNNddddrrrrooooppppOOOOppppeeeerrrraaaattttiiiioooonnnnssss and the value of the
  1102.                       _o_p_e_r_a_t_i_o_n_s member of the
  1103.                       XXXXmmmmDDDDrrrraaaaggggPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  1104.                       DropSite's XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc returns.  If the
  1105.                       resulting set of operations is empty, the
  1106.                       toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  1107.  
  1108.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc and
  1109.                       the user does not select an operation (by
  1110.                       pressing a modifier key), the toolkit
  1111.                       initializes _o_p_e_r_a_t_i_o_n_s to the value of the
  1112.                       DragContext's XXXXmmmmNNNNddddrrrraaaaggggOOOOppppeeeerrrraaaattttiiiioooonnnnssss resource.
  1113.  
  1114.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc and
  1115.                       the user does select an operation, the toolkit
  1116.  
  1117.  
  1118.  
  1119.      Page 17                                         (printed 4/30/98)
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  1127.  
  1128.  
  1129.  
  1130.                       initializes _o_p_e_r_a_t_i_o_n_s to the bitwise AND of the
  1131.                       corresponding operation and the value of the
  1132.                       DragContext's XXXXmmmmNNNNddddrrrraaaaggggOOOOppppeeeerrrraaaattttiiiioooonnnnssss resource.  If
  1133.                       the resulting set of operations is empty, the
  1134.                       toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP.
  1135.  
  1136.           _d_r_o_p_S_i_t_e_S_t_a_t_u_s
  1137.                       Indicates whether or not a drop site is valid.
  1138.  
  1139.                       If the toolkit has just called a DropSite's
  1140.                       XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, the toolkit initializes
  1141.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s to the value of the
  1142.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s member of the
  1143.                       XXXXmmmmDDDDrrrraaaaggggPPPPrrrrooooccccCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt at the time the
  1144.                       DropSite's XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc returns.
  1145.  
  1146.                       If the toolkit has not called an XXXXmmmmNNNNddddrrrraaaaggggPPPPrrrroooocccc, it
  1147.                       initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s as follows:  the
  1148.                       toolkit initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to
  1149.                       XXXXmmmmNNNNOOOO____DDDDRRRROOOOPPPP____SSSSIIIITTTTEEEE if the pointer is over an
  1150.                       inactive drop site or is not over a drop site.
  1151.                       The toolkit initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to
  1152.                       XXXXmmmmDDDDRRRROOOOPPPP____SSSSIIIITTTTEEEE____VVVVAAAALLLLIIIIDDDD if all the following
  1153.                       conditions are met:
  1154.  
  1155.  
  1156.                         +o  The pointer is over an active drop site
  1157.  
  1158.                         +o  The DragContext's XXXXmmmmNNNNeeeexxxxppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss and the
  1159.                            DropSite's XXXXmmmmNNNNiiiimmmmppppoooorrrrttttTTTTaaaarrrrggggeeeettttssss are compatible
  1160.  
  1161.                         +o  The initial value of the _o_p_e_r_a_t_i_o_n member
  1162.                            is not XXXXmmmmDDDDRRRROOOOPPPP____NNNNOOOOOOOOPPPP
  1163.  
  1164.                       Otherwise, the toolkit initializes
  1165.                       _d_r_o_p_S_i_t_e_S_t_a_t_u_s to XXXXmmmmDDDDRRRROOOOPPPP____SSSSIIIITTTTEEEE____IIIINNNNVVVVAAAALLLLIIIIDDDD.
  1166.  
  1167.  
  1168.           A pointer to the following structure is passed to callbacks
  1169.           for XXXXmmmmNNNNttttooooppppLLLLeeeevvvveeeellllEEEEnnnntttteeeerrrrCCCCaaaallllllllbbbbaaaacccckkkk:
  1170.  
  1171.           ttttyyyyppppeeeeddddeeeeffff ssssttttrrrruuuucccctttt
  1172.           {{{{
  1173.             iiiinnnntttt          _r_e_a_s_o_n;;;;
  1174.             XXXXEEEEvvvveeeennnntttt       ****_e_v_e_n_t;;;;
  1175.             TTTTiiiimmmmeeee         _t_i_m_e_s_t_a_m_p;;;;
  1176.             SSSSccccrrrreeeeeeeennnn       _s_c_r_e_e_n;;;;
  1177.             WWWWiiiinnnnddddoooowwww       _w_i_n_d_o_w;;;;
  1178.             PPPPoooossssiiiittttiiiioooonnnn     _x;;;;
  1179.             PPPPoooossssiiiittttiiiioooonnnn     _y;;;;
  1180.             uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr_d_r_a_g_P_r_o_t_o_c_o_l_S_t_y_l_e;;;;
  1181.           }}}}XXXXmmmmTTTTooooppppLLLLeeeevvvveeeellllEEEEnnnntttteeeerrrrCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt,,,, ****XXXXmmmmTTTTooooppppLLLLeeeevvvveeeellllEEEEnnnntttteeeerrrrCCCCaaaallllllllbbbbaaaacccckkkk;;;;
  1182.  
  1183.  
  1184.  
  1185.      Page 18                                         (printed 4/30/98)
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  1193.  
  1194.  
  1195.  
  1196.           _r_e_a_s_o_n      Indicates why the callback was invoked.
  1197.  
  1198.           _e_v_e_n_t       Points to the XXXXEEEEvvvveeeennnntttt that triggered the
  1199.                       callback.
  1200.  
  1201.           _t_i_m_e_S_t_a_m_p   Specifies the timestamp of the logical event.
  1202.  
  1203.           _s_c_r_e_e_n      Specifies the screen associated with the top-
  1204.                       level window or root window being entered.
  1205.  
  1206.           _w_i_n_d_o_w      Specifies the ID of the top-level window or root
  1207.                       window being entered.
  1208.  
  1209.           _x           Indicates the x-coordinate of the pointer in
  1210.                       root window coordinates.
  1211.  
  1212.           _y           Indicates the y-coordinate of the pointer in
  1213.                       root window coordinates.
  1214.  
  1215.           _d_r_a_g_P_r_o_t_o_c_o_l_S_t_y_l_e
  1216.                       Specifies the protocol style adopted by the
  1217.                       initiator.  The values are XXXXmmmmDDDDRRRRAAAAGGGG____DDDDRRRROOOOPPPP____OOOONNNNLLLLYYYY,
  1218.                       XXXXmmmmDDDDRRRRAAAAGGGG____DDDDYYYYNNNNAAAAMMMMIIIICCCC, XXXXmmmmDDDDRRRRAAAAGGGG____NNNNOOOONNNNEEEE, and
  1219.                       XXXXmmmmDDDDRRRRAAAAGGGG____PPPPRRRREEEERRRREEEEGGGGIIIISSSSTTTTEEEERRRR.
  1220.  
  1221.  
  1222.           A pointer to the following structure is passed to callbacks
  1223.           for XXXXmmmmNNNNttttooooppppLLLLeeeevvvveeeellllLLLLeeeeaaaavvvveeeeCCCCaaaallllllllbbbbaaaacccckkkk:
  1224.  
  1225.           ttttyyyyppppeeeeddddeeeeffff ssssttttrrrruuuucccctttt
  1226.           {{{{
  1227.             iiiinnnntttt          _r_e_a_s_o_n;;;;
  1228.             XXXXEEEEvvvveeeennnntttt       ****_e_v_e_n_t;;;;
  1229.             TTTTiiiimmmmeeee         _t_i_m_e_s_t_a_m_p;;;;
  1230.             SSSSccccrrrreeeeeeeennnn       _s_c_r_e_e_n;;;;
  1231.             WWWWiiiinnnnddddoooowwww       _w_i_n_d_o_w;;;;
  1232.           }}}}XXXXmmmmTTTTooooppppLLLLeeeevvvveeeellllLLLLeeeeaaaavvvveeeeCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt,,,, ****XXXXmmmmTTTTooooppppLLLLeeeevvvveeeellllLLLLeeeeaaaavvvveeeeCCCCaaaallllllllbbbbaaaacccckkkk;;;;
  1233.  
  1234.  
  1235.           _r_e_a_s_o_n      Indicates why the callback was invoked.
  1236.  
  1237.           _e_v_e_n_t       Points to the XXXXEEEEvvvveeeennnntttt that triggered the
  1238.                       callback.
  1239.  
  1240.           _t_i_m_e_S_t_a_m_p   Specifies the timestamp of the logical event.
  1241.  
  1242.           _s_c_r_e_e_n      Specifies a screen associated with the top-level
  1243.                       window or root window being left.
  1244.  
  1245.           _w_i_n_d_o_w      Specifies the ID of the top-level window or root
  1246.                       window being left.
  1247.  
  1248.  
  1249.  
  1250.  
  1251.      Page 19                                         (printed 4/30/98)
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.      XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaaggggCCCCoooonnnntttteeeexxxxtttt((((3333XXXX))))
  1259.  
  1260.  
  1261.  
  1262.         TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  1263.           The XmDragContext translations are listed below.  These
  1264.           translations may not directly correspond to a translation
  1265.           table.
  1266.  
  1267.           BBBBDDDDrrrraaaagggg MMMMoooottttiiiioooonnnn::::  DDDDrrrraaaaggggMMMMoooottttiiiioooonnnn(((())))
  1268.           BBBBDDDDrrrraaaagggg RRRReeeelllleeeeaaaasssseeee:::: FFFFiiiinnnniiiisssshhhhDDDDrrrraaaagggg(((())))
  1269.  
  1270.           KKKKCCCCaaaannnncccceeeellll::::       CCCCaaaannnncccceeeellllDDDDrrrraaaagggg(((())))
  1271.           KKKKHHHHeeeellllpppp::::         HHHHeeeellllppppDDDDrrrraaaagggg(((())))
  1272.  
  1273.  
  1274.         AAAAccccttttiiiioooonnnn RRRRoooouuuuttttiiiinnnneeeessss
  1275.           The XmDragContext action routines are described below:
  1276.  
  1277.  
  1278.           CCCCaaaannnncccceeeellllDDDDrrrraaaagggg(((()))):
  1279.                     Cancels the drag operation and frees the
  1280.                     associated DragContext.
  1281.  
  1282.           DDDDrrrraaaaggggMMMMoooottttiiiioooonnnn(((()))):
  1283.                     Drags the selected data as the pointer is moved.
  1284.  
  1285.           FFFFiiiinnnniiiisssshhhhDDDDrrrraaaagggg(((()))):
  1286.                     Finishes the drag operation and starts the drop
  1287.                     operation.
  1288.  
  1289.           HHHHeeeellllppppDDDDrrrraaaagggg(((()))):
  1290.                     Initiates a conditional drop that enables the
  1291.                     receiver to provide help information to the user.
  1292.                     The user can cancel or continue the drop operation
  1293.                     in response to this information.
  1294.  
  1295.  
  1296.         VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
  1297.           The bindings for virtual keys are vendor specific.  For
  1298.           information about bindings for virtual buttons and keys, see
  1299.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((3333XXXX)))).
  1300.  
  1301.      RRRREEEELLLLAAAATTTTEEEEDDDD IIIINNNNFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNN
  1302.           CCCCoooorrrreeee((((3333XXXX)))), XXXXmmmmDDDDiiiissssppppllllaaaayyyy((((3333XXXX)))), XXXXmmmmDDDDrrrraaaaggggCCCCaaaannnncccceeeellll((((3333XXXX)))), XXXXmmmmDDDDrrrraaaaggggIIIIccccoooonnnn((((3333XXXX)))),
  1303.           XXXXmmmmDDDDrrrraaaaggggSSSSttttaaaarrrrtttt((((3333XXXX)))), XXXXmmmmDDDDrrrrooooppppSSSSiiiitttteeee((((3333XXXX)))), XXXXmmmmDDDDrrrrooooppppTTTTrrrraaaannnnssssffffeeeerrrr((((3333XXXX)))), and
  1304.           XXXXmmmmSSSSccccrrrreeeeeeeennnn((((3333XXXX)))).
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.      Page 20                                         (printed 4/30/98)
  1318.  
  1319.  
  1320.  
  1321.